package com.pro.service;

import com.pro.pojo.JsUserCoupon;
import com.pro.pojo.JsUserCouponUsed;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author cyj
 * @date 2022.3.17$ 13.57$
 * @content :
 */
public interface CouponService {
    /**
     * @author cyj
     * @date 2022.3.17$ 14.06$
     * @content :获取所有的优惠卷
     */
    List<JsUserCoupon> getAllCoupon(
            String couponName,String online,
            String grant,String startDate,
            String endDate,
            Integer limit,Integer page);
    /**
     * @author cyj
     * @date 2022.3.17$ 14.07$
     * @content :获取所有的优惠卷
     */
    Integer countCoupon();
    /**
     * @author cyj
     * @date 2022.3.17$ 14.43$
     * @content :获取所有的优惠卷
     */
    JsUserCoupon getCouponById(Integer couponId);
    /**
     * @author cyj
     * @date 2022.3.17$ 14.59$
     * @content :删除一个优惠卷
     */
    Boolean delCoupon(Integer id);
    /**
     * @author cyj
     * @date 2022.3.17$ 15.25$
     * @content :更改一个优惠卷上下限状态
     */
    Boolean updateOnline(Integer couponId,Integer online,Integer updateId,String updateDate);
    /**
     * @author cyj
     * @date 2022.3.17$ 16.53$
     * @content :添加一个优惠卷
     */
    Boolean addCoupon(JsUserCoupon coupon);
    /**
     * @author cyj
     * @date 2022.3.18$ 8.34$
     * @content :获取所有的用户优惠卷
     */
    List<JsUserCoupon> getUserCoupons(
            String account,
            String nickname,
            Integer limit,
            Integer page);
    /**
     * @author cyj
     * @date 2022.3.18$ 8.40$
     * @content :用户优惠卷计数
     */
    Integer userCouponCount(String account,String nickname);
    /**
     * @author cyj
     * @date 2022.3.18$ 8.53$
     * @content :添加优惠卷
     */
    Boolean giveCoupon(List<JsUserCouponUsed> jsUserCouponUsed);
}
